package com.nanbei.eduService.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.nanbei.eduService.entity.EduCourse;
import com.baomidou.mybatisplus.extension.service.IService;
import com.nanbei.eduService.entity.frontVo.CourseFrontQueryVo;
import com.nanbei.eduService.entity.frontVo.CourseWebVo;
import com.nanbei.eduService.entity.vo.CourseInfoVo;
import com.nanbei.eduService.entity.vo.CoursePublishVo;

/**
 * <p>
 * 课程 服务类
 * </p>
 *
 * @author testjava
 * @since 2021-12-29
 */
public interface EduCourseService extends IService<EduCourse> {

    //添加课程基本信息
    String addCourse(CourseInfoVo courseInfoVo);

    //根据课程Id查询课程基本信息
    CourseInfoVo findCourseById(String courseId);

    void updateCourseById(CourseInfoVo courseInfoVo);

    //根据ID查询发布课程的信息
    CoursePublishVo selectCoursePublishVoById(String courseId);

    //根据课程ID删除课程信息
    void delCourseById(String courseId);

    //前端条件分页查询课程
    IPage<EduCourse> pageCourseFront(Page<EduCourse> eduCoursePage, CourseFrontQueryVo courseFrontQueryVo);

    //根据课程ID查询课程详细信息
    CourseWebVo findCourseInfo(String courseId);
}
